The Internet is an interconnected network of computers. The World Wide Web (WWW) is a network of Internet documents that supports embedded hyperlinks between documents, a graphical user interface, and extensive use of multimedia capabilities. A hyperlink is a network address embedded in a document. The hyperlink is activated when the user selects a highlighted item (such as a word, phrase, icon, or picture) displayed using a browser graphical interface.
A browser is a utility at one computer, called a client, that looks for and browses information on other computers, called servers, all of which are connected via the Internet. Examples of browsers are IBM's Web Explorer, Netscape Navigator, and NCSA (National Center for Supercomputing Applications) Mosaic. The server computer typically has a program, called a "daemon", that runs continuously, waiting for and servicing requests from browsers at the client computers.
In order to browse a document at a server, the user enters a Uniform Resource Locator (URL), which is an address of the desired document at the server, via the browser at the client computer. The browser at the client computer uses this URL to communicate with an HTTP (HyperText Transfer Protocol) daemon executing on the WWW server computer. HTTP is the protocol used by WWW computers to communicate to each other using these hyperlinks. The HTTP daemon at the WWW server then transmits the document specified by the URL in HTML (HyperText Markup Language) format to the client browser for presentation to the user. The retrieved document may itself contain further embedded URLs linking to multimedia objects (such as bitmaps, sound files, or video files), so the client browser parses the retrieved document and downloads the linked multimedia objects for presentation via display or playback.
Documents on the WWW are becoming more complex--including increasingly more embedded, multimedia objects--as producers of such documents attempt to make them more informative, distinctive, and exciting. Features in some WWW browsers, such as Netscape Navigator's ability to tile the browser's background with a bitmap downloaded from the WWW server, are facilitating this increase in the use of multimedia objects, and in particular the use of digitized images. This increasing use of multimedia objects, which can require a large amount of data transfer, adversely affects the performance of WWW servers, slows the response time experienced by users, and burdens the communication lines over which the data is transmitted. Also, the number of users of the Internet is steadily increasing, which busies servers even more, further burdening transmission lines and slowing the performance of all Internet data transfers.
Producers of WWW documents must consider that users will be more likely to access their documents if the document download time is relatively short. Thus, there is a tradeoff between use of linked, multimedia objects to make a document look and sound appealing and the likelihood that the user will endure the wait to download all the linked objects in order to view the document. Both WWW document developers and users would benefit if this tradeoff problem were alleviated.
Finally, since multimedia objects can be downloaded from a server in one country to a client in another country with a possibly very different culture, the language or gesture depicted by the multimedia object may be unclear or misleading to the reader. This is unavoidable currently, since each multimedia object is downloaded from one specific location on one specific server, so all clients at all locations receive a copy of the same, possibly origin-specific, object.
Some previous browsers have attempted to address some of these problems via caching mechanisms. Both memory caches that use, for example, random access memory (RAM) and disk caches that use media storage, such as fixed disk drives, have been used by browsers to store previously fetched WWW documents and their associated multimedia objects so that, if needed in the future, no further Internet transactions are necessary to retrieve them. Caching thus requires fetching every object at least once from the appropriate Internet server.
Caching mechanisms suffer from the problem that the cache contents are eventually recycled, that is, as more and more documents contain multimedia objects, the demand on the cache grows and eventually it fills up, so objects already in the cache are deleted to make room for newly fetched objects. The browser uses an algorithm to decide which cached object to delete, such as a first-in-first-out or least-recently-used algorithm. Once an object has been deleted from the cache, the browser must fetch it again from the server when the object is subsequently needed.
A further feature of some browsers allows the user to specify documents and multimedia objects of the user's choice as being "permanently" cached, i.e., exempt from the deletion process previously described. A permanent cache suffers from the following two deficiencies. First, caching does not address in any way the aforementioned problems associated with the culture or language that originated the object being different from the culture or language of the viewing user. Second, a permanent cache has a limited ability to recognize that it already contains an object, which causes the browser to request the same object multiple times from a server even though the permanent cache already contains the object.
This limited ability of the permanent cache to recognize an object stems from the fact that a permanent cache only keeps track of its cached objects by their complete URLs, including server name, directory name, and file name. Yet a document can link to the same object using different URLs, so that the permanent cache mistakenly believes that an object is not in the cache because its URL is different from when it was previously cached. For example, the same, identical object may exist on different servers or in different directories on the same server. Thus, the URLs of identical objects will be different, so the browser will unnecessarily retrieve the object multiple times even though the object is already contained in the permanent cache.
For the foregoing reasons, there is a need for a mechanism that increases the performance of browsing WWW documents without sacrificing their multimedia nature and that allows downloading of multimedia objects tailored for the user's language or culture.